/*
* ECARX Technology Limited is the owner of the copyright and the trade secret of this software.
* Without permission, no one has the right to obtain, disclose or use this software in any way.
*/

package ecarx.xsf.notificationcenter.common;

import androidx.annotation.IntDef;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;

import static java.lang.annotation.RetentionPolicy.SOURCE;


public class Constants {

    public static final int MAX_QUEUE_SIZE = 20;


    @Retention(SOURCE)
    @IntDef({STYLE_TYRANT, STYLE_SMART_TIP, STYLE_BADGE, STYLE_SMART_CARD, STYLE_LANDING_PAGE})
    @interface Style {
    }

    /**
     * PNS 普通通知
     */
    public static final int STYLE_NOTIFICATION = 1;

    /**
     * 霸屏通知
     */
    public static final int STYLE_TYRANT = 1;

    /**
     * 智能提示
     */
    public static final int STYLE_SMART_TIP = 2;

    /**
     * 徽标
     */
    public static final int STYLE_BADGE = 3;

    /**
     * 智能卡片
     */
    public static final int STYLE_SMART_CARD = 4;

    /**
     * landing page 样式
     */
    public static final int STYLE_LANDING_PAGE = 5;

    /**
     * 云端 PNS 霸屏通知
     */
    public static final int STYLE_PNS_TYRANT = 6;

    public interface ISceneCardStatus {
        int STATUS_DONE = 1;
        int STATUS_IN_SHOWING = 2;
    }

    public interface ICardStyle{
        /**
         * 卡片样式
         */
        String STYLE_HEAVY = "heavy";

        /**
         * 气泡样式
         */
        String STYLE_LIGHT = "light";
    }

    /**
     * 卡片处理状态
     */
    public interface ICardHandleStatus {

        /**
         * 卡片未处理
         */
        int STATUS_NO_HANDLE = 0;

        /**
         * 已处理
         */
        int STATUS_HANDLE = 1;
    }

    public static final int RESULT_UNKNOWN = 404;

    /**
     * 消息发送返回结果，成功
     */
    public static final int RESULT_OK = 1;

    /**
     * 消息发送返回结果，失败
     */
    public static final int RESULT_FAIL = -1;


    @Retention(SOURCE)
    @Documented
    @IntDef({RESULT_FAIL, RESULT_OK, RESULT_UNKNOWN})
    @interface Result {
    }



    public interface ISceneCardInfoKey {

        String KEY_ID = "scene_card_id";

        String KEY_PACKAGE_NAME = "scene_card_package";

        String KEY_BEEP = "beep";

        String KEY_TTS = "tts";

        String KEY_SEE_SAY = "see_say";

        String KEY_TITLE = "title";

        String KEY_SUB_TITLE = "sub_title";

        String KEY_BACKGROUND = "background";

        String KEY_DETAIL_IMG = "detailImg";

        String KEY_TAG = "tag";

        String KEY_WHEN = "when";
    }

    /**
     * 广播接收器相关统一Action字符串常量定义类
     */
    public interface BroadcastAction {
        String EAS_LAUNCH_ONE_ACTION = "com.ecarx.intent.action.EAS_LAUNCH_BAT_1ST";
    }
}
